In multiple input multiple output (MIMO) wireless systems, multiple data streams may be transmitted simultaneously using a plurality of transmitting antennas. A MIMO receiver may utilize a plurality of receiving antennas to decouple, and detect individual data streams. Two predominant methods for MIMO transmission include singular value decomposition (SVD), and layered space-time (LST) processing, also known as successive interference cancellation (SIC).
SVD may use beamforming in conjunction with a transmitter antenna array and receiver antenna array to create virtual channels, or eigen-channels, through which multiple data streams may be sent without interfering with one another. LST/SIC may use receiver antennal array processing to detect the multiple data streams, one stream at a time. For each detection “layer,” the interference from yet undetected streams may be nulled out, while the interference from already detected streams may be cancelled, or subtracted, out.
The eigen-channels in SVD may have highly unequal signal to noise ratios (SNR), depending on the eigen-spread of the MIMO channel matrix. SVD may also rely upon adaptive modulation, or adaptive bit loading, to achieve greater data transfer rates for eigen-channels associated with higher SNR values, while simultaneously supporting lower data transfer rates for eigen-channels associated with lower SNR values. SVD may also suffer performance loss, by not achieving the peak theoretical data transfer rate aggregated among the eigen-channels when a broad range of modulation types are not available. For example, if a maximum data transfer rate associated with an eigen-channel requires a 1024 QAM modulation type, the maximum data transfer rate may not be achievable if the required modulation type is not available to be utilized.
LST/SIC approaches may suffer performance losses as a result of error propagation. For example, if a current layer is detected in error, the error may propagate to other layers increasing the probability that subsequent layers may also be detected in error. LST/SIC may require stream re-ordering to detect data streams with higher SNR values first to minimize error propagation. Some methods, such as vertical LST (VLST) may provide error protection through coding of each data stream. Based on the coding, decisions may be made subsequent to decoding to subtract out interference.
Alternatively, preceding based on dirty paper theory, for example Tomlinson-Harashima precoding (THP), may be utilized to pre-cancel interference at the transmitter without requiring the signals to be transmitted with greater levels of transmitted radiated power. The THP approach may require channel knowledge at the transmitter.
Geometric mean decomposition (GMD) may be based on beamforming and LST/SIC at a transmitter, by utilizing THP for example, or based on LST/SIC at a receiver, by utilizing VLST for example. SNRs for each of a transmitted plurality of data streams may be about equal when utilizing GMD. Consequently, adaptive bit loading may not be required as may be the case with SVD. GMD may also not require reordering of data streams as may be the case with LST/SIC.
While a combination of GMD beamforming at a MIMO transmitter and VLST at a MIMO receiver may be utilized to achieve desirable performance levels within theoretical limitations, the latency and/or complexity associated with implementation of successive interference cancellation (SIC) methods may impose limitations on the design of MIMO receivers. IEEE 802.11 specifications may comprise requirements for structures utilized for coding data transmitted via a wireless communication channel, and for packet detection delay limits that establish a time duration between a time instant when one or more signals are received by a MIMO receiver, and a subsequent time instant when data transmitted via the one or more signals is detected at the MIMO receiver.
A MIMO transmitter may concurrently transmit a plurality of NTX signals, xi, from a plurality of NTX transmitting antennas. The plurality of transmitted signals (xi) may propagate across a communication medium, which is characterized by a channel estimate matrix (H), and be received at a MIMO receiver as a plurality of NRX signals, (yi) via a plurality of NRX receiving antennas. Each signal xi may be generated based on data from a corresponding spatial stream or space-time stream. Each of the transmitted signals xi may comprise a sequence of symbols from the corresponding spatial stream (or space-time stream), each of which represents one or more data bits (the data may be encoded by utilizing an error detection and/or correction coding technique such as binary convolutional coding (BCC)). The number of bits represented by each symbol is determined based on a modulation type. The symbol may be generated by selecting a constellation point within a constellation map. The number of constellation points in the constellation map is also determined based on the constellation map. Typically the number of constellation points in the constellation map is equal to 2b(sym), where b(sym) represents the number of bits represented by each symbol. For example, in a 64-QAM (quadrature amplitude modulation) constellation map, there are 64 constellation points, where each constellation point represents a distinct combination of 6 bit values (with binary values ranging from 000000 to 111111). The variable xi may represent the value of each signal transmitted from the ith transmitting antenna at a given time instant. Each transmitting antenna may utilize a distinct modulation type when transmitting signals xi or one or more transmitting antenna may utilize the same modulation type. Symbol values xi transmitted by each transmitting antenna may be determined independently from symbol values concurrently transmitted by other transmitting antennas.
The received signals yi may also include noise components (ni) which reflects signal noise induced during signal propagation across the communication medium. The relationship between the vector of signals xi transmitted by the MIMO transmitter (X) and the vector of signals yi received by the MIMO receiver (Y) may be represented as follows:Y=H X+N   [1]
The MIMO receiver computes the channel estimate matrix H, either based on preamble information received in conjunction with the received signals xi or based on information received from the MIMO transmitter. The MIMO receiver then attempts to determine estimated values ({circumflex over (x)}i), which likely reflect the values xi transmitted by the MIMO transmitter. A detector in a MIMO receiver determines the estimated values {circumflex over (x)}i by selecting constellation points from among the 2b(sym) constellation points in the constellation map for xi (CM), which provide the greatest probability that xi={circumflex over (x)}i. The relationship may be represented as follows:
                                          x            ^                    i                =                                            arg              ⁢                                                          ⁢              max                                                                        x                  ^                                i                            ∈                              C                M                                              ⁢                      P            ⁡                          (                                                                                          x                      ^                                        i                                    ⁢                                                                          ⁢                  is                  ⁢                                                                          ⁢                  observed                                ❘                                                      x                    i                                    ⁢                                                                          ⁢                  was                  ⁢                                                                          ⁢                  sent                                            )                                                          [        2        ]            A detector at a MIMO receiver, which determines values {circumflex over (x)}i that satisfy equation [2], is referred to as a maximum likelihood (ML) detector.
The computational complexity of ML detection may grow exponentially with the number of spatial streams (NSS) and may be represented as
            ∏              i        =        1            NSS        ⁢          2              b        ⁡                  (                      sym            i                    )                      ,where
      ∏          i      =      1        NSS    ⁢      j    ⁡          (      i      )      represents the multiplicative product of values j(i) for values of i from 1 to NSS and b(symi) represents the number of bits represented by symbols in the ith spatial stream. Due to computational complexity, it may be impractical to implement ML detection in some conventional systems for values NSS>2 for 64-QAM. Furthermore, the computational task of computing beamforming factors at a MIMO transmitter to be utilized with ML detection at a MIMO receiver may be non-deterministic polynomial-time hard (NP-hard).
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.